{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Lecture 8 - Uncertainty Propagation (Sampling Methods I)\n",
    "\n",
    "## Objectives\n",
    "\n",
    "+ To understand the emergence of the curse of dimensionality\n",
    "+ To estimate multi-dimensional integrals using Monte Carlo\n",
    "+ To quantify the epistemic uncertainty in Monte Carlo estimates\n",
    "+ To propagate uncertainty through a boundary value problem\n",
    "\n",
    "## Readings\n",
    "\n",
    "+ Monte Carlo Strategies in Scientific Computing (Jun S. Liu, 2001): Chapters 1 and 2.\n",
    "\n",
    "+ Monte Carlo Statistical Methods (Christian P. Robert and George Casella, 1999): Chapter 3."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "sns.set_style('white')\n",
    "sns.set_context('talk')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Curse of Dimensionality\n",
    "Let $X$ be a random variable with probability density $p(x)$ and $f(X)$ be a function of $X$.\n",
    "We would like to calculate the integral:\n",
    "$$\n",
    "\\mathbb{E}\\left[f(X)\\right] := \\int f(x)p(x)dx.\n",
    "$$\n",
    "This may be trivial when $X$ is low dimensional, but it is an extremely difficult problem when it is higher dimensional.\n",
    "\n",
    "To appreciate the emergence of this *curse of dimensionality*, let us start with a concrete example.\n",
    "Let us assume that $X\\sim\\mathcal{U}\\left([0,1]^d\\right)$, where $d\\ge 1$.\n",
    "First, $d=1$ and $p(x) = 1$.\n",
    "A typical way to evaluate the integral is construct an approximation of the area under the curve with rectangles:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1a1870dc10>]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 900x600 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(dpi=150)\n",
    "f = lambda x: np.sin(20.0 * (x - 0.5)) / (20.*(x-0.5))\n",
    "xq = np.linspace(0, 1, 20)\n",
    "yq = f(xq)\n",
    "xs = np.linspace(0, 1, 100)\n",
    "ax.bar(xq, yq, width=xq[1]-xq[0], alpha=0.5)\n",
    "ax.plot(xs, f(xs), lw=2, color='r')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, let's go to higher dimensions.\n",
    "Here is the process:\n",
    "\n",
    "+ Pick a set of $n$ equidistant points in $[0,1]$.\n",
    "\n",
    "+ Use these points to construct a regular grid in $[0,1]^d$.\n",
    "\n",
    "+ The grid consists of a total of $n^d$ boxes each one with volume $n^{-d}$.\n",
    "Let the center of the $m$-th box be $x_{c,j}, j=1,\\dots,n^d$.\n",
    "\n",
    "+ Evaluate the function values at the centers of the blocks $f(x_{c,j})$.\n",
    "\n",
    "+ Since each box contributes $n^{-d}f(x_{c,j})$ to the ingegral, you may approximate the whole thing by:\n",
    "$$\n",
    "I_n = n^{-d}\\sum_{j=1}^{n^d}f(x_{c,j}).\n",
    "$$\n",
    "\n",
    "Something is seriously wrong here.\n",
    "Let's think about the number of function evaluations that we will have to do if we used $n=10$ per input dimension.\n",
    "For the sake of the argument suppose that it takes one milisecond to evaluate the function.\n",
    "How much time would you need to carry out the calculation:\n",
    "\n",
    "+ $d=2$ gives $10^2 = 100$ function evaluations. So, you need 1 second.\n",
    "\n",
    "+ $d=3$ gives $10^3 = 1,000$ function evaluations. So, you need 10 seconds. \n",
    "\n",
    "+ $d=5$ gives $10^5 = 10,000$ function evaluations. So, you need 100 seconds.\n",
    "\n",
    "+ $d=6$ gives $10^6 = 100,000$ function evaluations. So, you need 1000 seconds or about 16 minutes.\n",
    "\n",
    "+ $d=10$ gives $10^{10}$ function evaluations. So, you need 11 days...\n",
    "\n",
    "+ $d=100$ gives $10^{100}$ function evaluations. So, you need ...\n",
    "\n",
    "+ forget it...\n",
    "\n",
    "This is the curse of dimensionality."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Monte Carlo Integration\n",
    "So, is there a way to evaluate the expectation faster?\n",
    "Yes, but it is not obvious immediatly why it works.\n",
    "There is a theorem from statistics called the *Strong Law of Large Numbers*.\n",
    "This theorem states that if you have a sequence of iid random variables $X_1,X_2,...$ with probability density $p(x)$, then under fairely general conditions the empirical average:\n",
    "$$\n",
    "I_n = \\frac{1}{n}\\sum_{j=1}^nf(X_j)\\longrightarrow \\mathbb{E}[f(X)],\n",
    "$$\n",
    "almost surely as $n\\rightarrow\\infty$.\n",
    "\n",
    "Let's try it out with a test function in 1D (Example 3.4 of Casella).\n",
    "Assume that $X\\sim\\mathcal{U}([0,1])$ and pick:\n",
    "$$\n",
    "f(x) = \\left(\\cos(50x) + \\sin(20x)\\right)^2.\n",
    "$$\n",
    "The correct value for the expectation can be found analytically and it is:\n",
    "$$\n",
    "\\mathbb{E}[f(x)] = 0.965.\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Define the function\n",
    "f = lambda x: (np.cos(50 * x) + np.sin(20 * x)) ** 2\n",
    "\n",
    "# Let's visualize is first\n",
    "fig, ax = plt.subplots()\n",
    "x = np.linspace(0, 1, 300)\n",
    "ax.plot(x, f(x))\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$f(x)$');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Now let's implement the monte carlo procedure in a generic way\n",
    "def get_mc_estimate(max_n=1000, func=f, dim=1, sampler=np.random.rand):\n",
    "    \"\"\"\n",
    "    Return the the MC estimate of the 1D integral using the previously defined f function.\n",
    "    Note that this only samples from the uniform distribution in ``dim`` dimensions.\n",
    "    \n",
    "    :param max_n:   Maximum number of samples.\n",
    "    :param func:    The function to integrate.\n",
    "    :parma dim:     The dimension of the input.\n",
    "    :param sampler: A function that samples x's.\n",
    "    \"\"\"\n",
    "    I = np.ndarray((max_n,))    # A running estimate of the expecation\n",
    "    s = 0.                      # A variable to keep track of the sum\n",
    "    for n in range(max_n):\n",
    "        # sample an x\n",
    "        x = sampler(dim)\n",
    "        # evaluate f\n",
    "        y = func(x)\n",
    "        # Update the sum\n",
    "        s += y\n",
    "        # The current approximation of the integral is\n",
    "        I[n] = s / (n + 1)\n",
    "    return I"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3LU7+WJFPjmZKZw9tjdxsTH85f2lFJZV0SEpjqk/Hc/dHyxjzhpnXPrNJw4iNTF8YSBqAoyIyK7SSi57eh7J8bHce+5IemUk73HOi3OctGxWagI7Sip557vNbNpVxsTcTDJTE8nJTOHoQV2JjfHscW1DyiprSE6IbfDYZ3Y73vJqYjzw3vVH8M8ZK3hp7gamL9nGtxs+556zRzDZdG35DYdAYVkV935oee/7LewsqazbP/WrtZw9tjf/XbgJgJtPGsSYnE68dOVE3v5uExVVtZwxuldYy6YAIyJR47HPV/Pthl0A/PhfX/DoxeMY22d3X54V27zMW+t0Hn1oymi+27iLv39oWbCugAXr6jqVMjI7g3vOGoHpns6+vDJvPb97czGTTRfuO3cUHZPj6x1/57vNABzavzM9M5K568wRjO2Tye3v/MB2bwU/eXoeF07I4fenDCYlITRvp7W1PjYXltErIxmPZ99BckthGZc9NQ+7bfesWQd1TWPl9mKWbfXy5/ecceijczI4/+AcAGJiPJwxundIytqYqMjBiDRVTa2PG17+hquem095VU2kiyMhtKO4gqlfrQXA44H84krOf+xr/rtwY905L8118iF9slI4tH8W100ewGMXj+XUET04JDeLgd3SAPhuwy5O/ecsHvx4OZXVe4zVBmD9jlJuf2cJNbU+Pl6axxn//pKVecV1x0sqqvl46TYAThvZs27/2WN788ENRzC+r9PB4IU56znpoVksWLeT/bF8m5e/fbCMw+6eweF3f8plT8/bZ8+15du8nPnwV9htXuJiPNx0guHLW45m+i+P4q1rD2NEb2eSlNgYD385fTgxTazRhZLH52s7yapwMsbsSk9P7zh//vxIF0X24ZOl27j8Gedv9KfThnLpoX0jWyBpkcLSKm757yJGZWfwsyNz8Xg83PXBUh79bDUdkuJ4/ooJ/OLlb1mdXwLATScYLj+8HxP++gmFZVXcfOIgrpnUcHJ6zuod3PzGItbuKAVgZO+O/OP80fXGefh8Pi54fA6zV+8gMzWB4opqKqtrSU+M475zR3L80O68/e0mbnj5WxJiY5h367F71G5qan08Pms193+0nMqaWmI8cMGEHI4Z3I2xfTrRIan++fty74eWf326co/9makJ3H3WCI4bUr/n2ry1O7l86jyKyqtJS4zjkYvGcMRBXfYo34xl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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's try running it\n",
    "num_mc = 1   # How many times do you want to run MC\n",
    "max_n = 100  # Maximum number of samples to take per MC run\n",
    "fig, ax = plt.subplots()\n",
    "for _ in range(num_mc):\n",
    "    I = get_mc_estimate(max_n=max_n, func=f, dim=1)\n",
    "    ax.plot(np.arange(1, max_n+1), I)\n",
    "ax.plot(np.arange(1, max_n+1), [0.965] * max_n, color='r')\n",
    "ax.set_xlabel('$n$')\n",
    "ax.set_ylabel('$I_n$');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Questions\n",
    "\n",
    "+ Increase ``max_n`` until you get an answer that is close enough to the correct answer (the red line).\n",
    "+ Reduce ``max_n`` back to a small number, say 1,000. Run the code 2-3 times to observe that every time you get a slightly different answer...\n",
    "+ Set ``num_mc`` to 10 (or higher). Observe how different MC runs envelop the correct answer. This is epistemic uncertainty. How can we get it without running this repeatedly?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Quantifying the Epistemic Uncertainty of an MC Estimate\n",
    "The *Central Limit Theorem* comes to rescue.\n",
    "It states that if $\\mathbb{V}[f(X)]$ exists, then the empirical average:\n",
    "$$\n",
    "I_n:=\\frac{1}{n}\\sum_{j=1}^nf(X_j) \\rightarrow \\mathcal{N}\\left(\\mathbb{E}[f(X)], \\frac{1}{n}\\mathbb{V}[f(X)]\\right),\n",
    "$$\n",
    "in distribution as $n\\rightarrow \\infty$.\n",
    "This suggests that, the true expectation must be within two standard deviations of $I_n$, i.e.,\n",
    "$$\n",
    "I := \\mathbb{E}[f(X)] = I_n \\pm \\frac{2}{\\sqrt{m}}\\mathbb{V}[f(X)].\n",
    "$$\n",
    "This is perfect, except from the fact that we don't really know what $\\mathbb{V}[f(X)]$ is...\n",
    "Well, let's approximate it also with MC!\n",
    "Set:\n",
    "$$\n",
    "V_n = \\frac{1}{n}\\sum_{j=1}^n\\left(f(X_j) - I_n\\right)^2.\n",
    "$$\n",
    "Then we can say that:\n",
    "$$\n",
    "I = I_n \\pm \\frac{2}{\\sqrt{n}}\\sqrt{V_n}.\n",
    "$$\n",
    "Let's see if this works."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Let's modify the previous function so that it also returns the variance estimate\n",
    "def get_mc_estimate(max_n=1000, func=f, dim=1, sampler=np.random.rand):\n",
    "    \"\"\"\n",
    "    Return the the MC estimate of the 1D integral using the previously defined f function.\n",
    "    Note that this only samples from the uniform distribution in ``dim`` dimensions.\n",
    "    \n",
    "    :param max_n: Maximum number of samples.\n",
    "    :param func:  The function to integrate.\n",
    "    :parma dim:   The dimension of the input.\n",
    "    \"\"\"\n",
    "    I = np.ndarray((max_n,))    # A running estimate of the expecation\n",
    "    V = np.ndarray((max_n,))    # A running estimate of the epistemic variance\n",
    "    s = 0.                      # A variable to keep track of the sum\n",
    "    s2 = 0.                     # A variable to keep track of the sum of square centered differences\n",
    "    for n in range(max_n):\n",
    "        # sample an x\n",
    "        x = sampler(dim)\n",
    "        # evaluate f\n",
    "        y = func(x)\n",
    "        # Update the sum\n",
    "        s += y\n",
    "        # The current approximation of the integral is\n",
    "        I[n] = s / (n + 1)\n",
    "        # Update s2:\n",
    "        s2 += (y - I[n]) ** 2\n",
    "        # The current approximation of the epistemic variance\n",
    "        V[n] = s2 / (n + 1)\n",
    "    return I, V"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Let's try running it\n",
    "num_mc = 10   # How many times do you want to run MC\n",
    "max_n = 1000  # Maximum number of samples to take per MC run\n",
    "fig, ax = plt.subplots()\n",
    "all_ns = np.arange(1, max_n+1)\n",
    "for k in range(num_mc):\n",
    "    I, V = get_mc_estimate(max_n=max_n, func=f, dim=1)\n",
    "    ax.plot(all_ns, I, color='b', lw=1)\n",
    "    # Plot the error bar only for the first mc run:\n",
    "    if k == 0:\n",
    "        # The lower bound\n",
    "        l = I - 2. / np.sqrt(all_ns) * np.sqrt(V)\n",
    "        # The upper bound\n",
    "        u = I + 2. / np.sqrt(all_ns) * np.sqrt(V)\n",
    "        ax.fill_between(np.arange(1, max_n+1), l, u, color=sns.color_palette()[0], alpha=0.25)\n",
    "ax.plot(np.arange(1, max_n+1), [0.965] * max_n, color='r')\n",
    "ax.set_xlabel('$n$')\n",
    "ax.set_ylabel('$I_n$');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### Questions\n",
    "\n",
    "+ Increase ``max_n`` until you get an answer that is close enough to the correct answer (the red line). Notice how the epistemic error bars shrink around the true value.\n",
    "+ Reduce ``max_n`` back to a small number, say 1,000. Set ``num_mc`` to 10 (or higher). Observe how different MC runs envelop the correct answer. If the epistemic error bars were spot on, only 5 in 100 trajectories would be off. For which $n$ do the epistemic error bars look less accurate (small $n$ or big $n$)? Why do you think that is? Argue using the central limit theorem."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Exaple: Propagating Uncertainty Through a Differential Equation\n",
    "Consider the steady state heat equation on a heterogeneous rod with no heat sources:\n",
    "$$\n",
    "\\frac{d}{dx}\\left(c(x)\\frac{d}{dx}T(x)\\right) = 0,\n",
    "$$\n",
    "and boundary values:\n",
    "$$\n",
    "T(0) = 1\\;\\mbox{and}\\;T(1) = 0.\n",
    "$$\n",
    "We are interested in cases in which we are uncertain about the conductivity, $c(x)$.\n",
    "Before we proceed, we need to put together all our prior beliefs and come up with a stochastic model for $c(x)$ that represents our uncertainty.\n",
    "This requires assigning a probability measure on a function space (the subject of Lectures 7 to 12).\n",
    "For now, we will just give you a model.\n",
    "We will model $c = c(x;\\boldsymbol{\\xi})$ as:\n",
    "$$\n",
    "c(x;\\boldsymbol{\\xi}) = c_0(x)\\exp\\{g(x;\\boldsymbol{\\xi})\\},\n",
    "$$\n",
    "where $c_0(x)$ is a \"mean\" conductivity level and $g(x;\\boldsymbol{\\xi})$ is a random field.\n",
    "The reason for the exponential is that $c(x;\\boldsymbol{\\xi})$ must be positive.\n",
    "We will assume that the random field ia a [Wiener-Lévy process](https://en.wikipedia.org/wiki/Wiener_process).\n",
    "This is a field that it is no-where continuous and it is actually a fractal (when you zoom in the spatial dimension, the field resembles itself at a larger scale).\n",
    "The Karhunen-Loeve expansion of the field is:\n",
    "$$\n",
    "g(x;\\boldsymbol{\\xi}) = \\sum_{i=1}^\\infty\\xi_i\\phi_i(x),\n",
    "$$\n",
    "where $\\phi_i(x)$ are the eigenfunctions of $x$ and $\\xi_i$ are independent standard normal random variables with zero mean and unit variance.\n",
    "For this particular example, we will assume that:\n",
    "$$\n",
    "\\phi_i(x) = \\frac{\\sqrt{2}\\sigma}{(i - \\frac{1}{2})\\pi}\\sin\\left((i-\\frac{1}{2})\\pi x\\right),\n",
    "$$\n",
    "where $\\sigma>0$ is a parameter controlling the variance of the random field.\n",
    "For the record, this corresponds to a random field known as the \n",
    "Since, we cannot actually work with the infinite sums, let's truncate at $i=d$ and define:\n",
    "$$\n",
    "g_d(x;\\boldsymbol{\\xi}) = \\sum_{i=1}^d\\xi_i\\phi_i(x).\n",
    "$$\n",
    "Let's implement the field:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# This computes the random field given a xi\n",
    "def g(x, xi, sigma=1.):\n",
    "    \"\"\"\n",
    "    Arguments:\n",
    "    x     -   One dimensional vector containing the points at which you wish to evaluate the field.\n",
    "    xi    -   One dimensional vector of the random variables. The dimensionality of this vector\n",
    "              corresponds to the ``d`` in the math above.\n",
    "    sigma -   This is the variance of the field.\n",
    "    \"\"\"\n",
    "    res = np.zeros(x.shape[0])\n",
    "    d = xi.shape[0]\n",
    "    for i in range(d):\n",
    "        res += xi[i] * np.sqrt(2) * sigma / (i - .5) / np.pi * np.sin((i - .5) * np.pi * x)\n",
    "    return res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(0, 1, 500)\n",
    "d = 1000\n",
    "fig, ax = plt.subplots()\n",
    "for i in range(10):\n",
    "    xi = np.random.randn(d)\n",
    "    ax.plot(x, np.exp(g(x, xi)), linewidth=1)\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$c(x)$');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Questions\n",
    "\n",
    "+ To get an accurate description of the field, you need to include a lot of dimensions. $d=10$ is not enough. Start increasing $d$ from $10$ to $100$ to $1000$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Constructing a Solver for the Boundary Value Problem\n",
    "\n",
    "Let's return to our stochastic boundary value problem.\n",
    "We need to create a solver. We will develop a solver based on the [finite volume method](https://en.wikipedia.org/wiki/Finite_volume_method) using [FiPy](http://www.ctcms.nist.gov/fipy).\n",
    "You have to install the following packages:\n",
    "```\n",
    "pip install ez_setup\n",
    "pip install fipy\n",
    "```\n",
    "Here is the solver:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import fipy\n",
    "\n",
    "class SteadyStateHeat1DSolver(object):\n",
    "    \n",
    "    \"\"\"\n",
    "    Solves the 1D steady state heat equation with dirichlet boundary conditions.\n",
    "    It uses the stochastic model we developed above to define the random conductivity.\n",
    "    \n",
    "    Arguments:\n",
    "    g           -    The random field the describes the conductivity.\n",
    "    nx          -    Number of grid points\n",
    "    value_left  -    The value at the left side of the boundary.\n",
    "    value_right -    The value at the right side of the boundary.\n",
    "    \"\"\"\n",
    "    \n",
    "    def __init__(self, g=g, nx=100, value_left=1., value_right=0.):\n",
    "        self.g = g\n",
    "        self.nx = nx\n",
    "        self.dx = 1. / nx\n",
    "        self.mesh = fipy.Grid1D(nx=self.nx, dx=self.dx)\n",
    "        self.phi = fipy.CellVariable(name='$T(x)$', mesh=self.mesh, value=0.)\n",
    "        self.C = fipy.FaceVariable(name='$C(x)$', mesh=self.mesh, value=1.)\n",
    "        self.phi.constrain(value_left, self.mesh.facesLeft)\n",
    "        self.phi.constrain(value_right, self.mesh.facesRight)\n",
    "        self.eq = fipy.DiffusionTerm(coeff=self.C)\n",
    "        \n",
    "    def __call__(self, xi):\n",
    "        \"\"\"\n",
    "        Evaluates the code at a specific xi.\n",
    "        \"\"\"\n",
    "        x = self.mesh.faceCenters.value.flatten()\n",
    "        g_val = self.g(x, xi)\n",
    "        self.C.setValue(np.exp(g_val))\n",
    "        self.eq.solve(var=self.phi)\n",
    "        return x, self.phi.faceValue()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "solver = SteadyStateHeat1DSolver(nx=500)\n",
    "d = 1000\n",
    "fig, ax = plt.subplots()\n",
    "for i in range(5):\n",
    "    xi = np.random.randn(1000)\n",
    "    x, y = solver(xi)\n",
    "    ax.plot(x, y, lw=1)\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel(r'$T(x,\\xi)$');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's now use Monte Carlo to estimate the mean of $T(x)$ at a single point, say $x=0.5$:\n",
    "$$\n",
    "T_m(x=0.5) = \\mathbb{E}_\\xi[T(x=0.5,\\xi)].\n",
    "$$\n",
    "We will slightly modify our previous code.\n",
    "We start by defining a function $f (\\xi) = T(x=0.5, \\xi)$:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "f_solver = lambda xi: solver(xi)[1][int(solver.nx / 2)]    # Solve the problem at xi, grab the mid point of the solution array"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we are ready to repeat our MC analysis. This is going to take a while."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "d = 1000      # Dimensionality of the random field\n",
    "max_n = 100  # Maximum number of samples to take per MC run\n",
    "fig, ax = plt.subplots()\n",
    "all_ns = np.arange(1, max_n+1)\n",
    "I, V = get_mc_estimate(max_n=max_n, func=f_solver, dim=d, sampler=np.random.randn) # Notice that I changed the sampler\n",
    "ax.plot(all_ns, I, lw=1)\n",
    "# The lower bound\n",
    "l = I - 2. / np.sqrt(all_ns) * np.sqrt(V)\n",
    "# The upper bound\n",
    "u = I + 2. / np.sqrt(all_ns) * np.sqrt(V)\n",
    "ax.fill_between(np.arange(1, max_n+1), l, u, color=sns.color_palette()[0], alpha=0.25)\n",
    "ax.set_xlabel('$n$')\n",
    "ax.set_ylabel('$I_n$');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's do something more exiting.\n",
    "Let's find upper and lower bounds for the solution.\n",
    "To achieve this, we will use the empirical percentiles of a large number of samples."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "d = 1000 # Dimensionality of the field\n",
    "max_n = 100 # How many samples do you want to use?\n",
    "# Array to store the data we collect\n",
    "data = np.ndarray((max_n, solver.nx + 1))\n",
    "for i in range(max_n):\n",
    "    xi = np.random.randn(d)\n",
    "    data[i, :] = solver(xi)[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, let us find the median of $T(x,\\xi)$ for each $x$.\n",
    "The median $\\mu(x)$ is defined so that\n",
    "$$\n",
    "\\mathbb{P}_\\xi\\left[T(x,\\xi) \\le \\mu(x)\\right] = 0.5.\n",
    "$$\n",
    "We can find it by:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "mu = np.median(data, axis=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In general, the $q$-th percentile is defined by:\n",
    "$$\n",
    "\\mathbb{P}_\\xi\\left[T(x,\\xi)\\le \\mu_q(x)\\right] = \\frac{q}{100}.\n",
    "$$\n",
    "Of particular interest are the $2.5\\%$ and the $97.5\\%$ quantiles:\n",
    "$$\n",
    "\\mathbb{P}_\\xi\\left[T(x,\\xi)\\le \\mu_{2.5}(x)\\right] = \\frac{2.5}{100},\n",
    "$$\n",
    "and\n",
    "$$\n",
    "\\mathbb{P}_\\xi\\left[T(x,\\xi)\\le \\mu_{97.5}(x)\\right] = \\frac{97.5}{100},\n",
    "$$\n",
    "respectively.\n",
    "These can be found by:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "mu_025 = np.percentile(data, 2.5, axis=0)\n",
    "mu_975 = np.percentile(data, 97.5, axis=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using them, you can define a $95\\%$ *prediction interval* for your estimate since:\n",
    "$$\n",
    "\\mathbb{P}_\\xi(\\mu_{2.5}(x) \\le T(x,\\xi) \\le \\mu_{97.5}(x)) = 0.95.\n",
    "$$\n",
    "Of course, you should keep in mind that since we are using a finite number of samples, there is residual epistemic uncertainty in these estimates.\n",
    "You should only trust them if you have convergent results.\n",
    "Let's visualize them:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "ax.plot(x, mu)\n",
    "ax.fill_between(x, mu_025, mu_975, color=sns.color_palette()[0], alpha=0.25)\n",
    "# Let's take a couple of samples and see if they fall inside:\n",
    "for _ in range(5):\n",
    "    xi = np.random.randn(d)\n",
    "    y = solver(xi)[1]\n",
    "    ax.plot(x, y, lw=1)\n",
    "ax.set_xlabel('$x$')\n",
    "ax.set_ylabel('$T(x)$');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Questions\n",
    "\n",
    "+ Monte Carlo seems kind of slow. Where do you think is the bottleneck? What can be done to accelerate it?\n",
    "+ One idea is to parallelize Monte Carlo. How would you go about doing this?\n",
    "+ Another idea would be to replace the solver with a regression surface. Have we learned any techniques in class so far that can be used for this purpose? Do these techniques work when the input is high-dimensional?\n",
    "+ Modify the code above to plot a series of quantiles that will give you an idea of the underlying probability density on the space of $T(x)$'s. Plot the $5, 10, 15, 20, 25, 30, 35,\\ldots, 80, 85, 90, 95\\%$ quantiles.\n",
    "+ Use the data you have collected in ``data`` to estimate the probability that $T(x=0.5)$ is greater than $0.8$:\n",
    "$$\n",
    "\\mathbb{P}_\\xi\\left[T(x=0.5,\\xi)\\ge 0.8\\right] = \\mathbb{E}_\\xi\\left[1_{[0.8,\\infty]}(T(x=0.5,\\xi))\\right].\n",
    "$$\n",
    "Write your code below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": false
   },
   "outputs": [],
   "source": [
    "def h(xi):\n",
    "    \"\"\"\n",
    "    Define this to be the indicator function in order to take the expectation you need.\n",
    "    \"\"\"\n",
    "    # Here is how you can get T(x=0.5, xi)):\n",
    "    y = solver(xi)[1][int(solver.nx / 2)]\n",
    "    # Write your code below here:\n",
    "    pass\n",
    "\n",
    "max_n = 1000  # Maximum number of samples to take per MC run\n",
    "fig, ax = plt.subplots()\n",
    "all_ns = np.arange(1, max_n+1)\n",
    "I, V = get_mc_estimate(max_n=max_n, func=h, dim=d, sampler=np.random.randn) # Notice that I changed the sampler\n",
    "ax.plot(all_ns, I, lw=1)\n",
    "# The lower bound\n",
    "l = I - 2. / np.sqrt(all_ns) * np.sqrt(V)\n",
    "# The upper bound\n",
    "u = I + 2. / np.sqrt(all_ns) * np.sqrt(V)\n",
    "ax.fill_between(np.arange(1, max_n+1), l, u, color=sns.color_palette()[0], alpha=0.25)\n",
    "ax.set_xlabel('$n$')\n",
    "ax.set_ylabel('$I_n$');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  },
  "latex_envs": {
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 0
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
